A solid-state drive (SSD) uses block-oriented storage concepts to abstract an underlying flash device, for example, a NAND semiconductor device. An operating system (OS) issues storage commands with block-level addresses to a storage controller. The storage controller then translates the block-level addresses according to a wear-leveling algorithm and issues a storage access command with respect to the translated addresses. In this manner, the storage controller can distribute read/write accesses across the flash device transparently to the OS. Issuance of block-level commands to the storage controller, however, requires that the local system state be known. This may comprise network accessibility of the flash device.